<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>016_封装防抖方法</title>
</head>
<body>
  
</body>
<script>
  function debounce (fn, wait) {
    var timerId;
    wait = wait || 0;
    function helper () {
      if (timerId) {
        clearTimeout(timerId);
        timerId = null;
      }
      timerId = setTimeout(function (){
        fn();
      }, wait);
    }
    return helper;
  }

  function notifyChange() {
    console.log('浏览器的窗口改变了');

  }
window.addEventListener('resize', debounce(notifyChange, 500));
// 思考：防抖的使用场景还有哪些？
/**
 * 1. 浏览器 resize事件 滚动事件
 * 2. 页面滚动事件
 * 3. 输入框的连续输入进行Ajax验证，用函数防抖能有效减少请求次数
*/
</script>
</html>